<?php
/**
 * Here is your custom functions.
 */

/**
 * 获取带前缀的表名
 * @param string $tableName 表名（不含前缀）
 * @param string $connection 数据库连接名，默认为 'admin'
 * @return string 带前缀的表名
 */
function table_with_prefix($tableName, $connection = 'admin')
{
    $prefix = config("database.connections.{$connection}.prefix", '');
    return $prefix . $tableName;
}

/**
 * 获取数据库表前缀
 * @param string $connection 数据库连接名，默认为 'admin'
 * @return string 表前缀
 */
function get_table_prefix($connection = 'admin')
{
    return config("database.connections.{$connection}.prefix", '');
}

/**
 * 将时间戳转换为人性化的时间显示
 * @param int $timestamp 时间戳
 * @param int $currentTime 当前时间戳，默认为当前时间
 * @return string 人性化的时间字符串
 */
function human_time($timestamp, $currentTime = null)
{
    if ($currentTime === null) {
        $currentTime = time();
    }
    
    $diff = $currentTime - $timestamp;
    
    if ($diff < 0) {
        // 未来时间
        $diff = abs($diff);
        if ($diff < 60) {
            return $diff . '秒后';
        } elseif ($diff < 3600) {
            return floor($diff / 60) . '分钟后';
        } elseif ($diff < 86400) {
            return floor($diff / 3600) . '小时后';
        } elseif ($diff < 2592000) {
            return floor($diff / 86400) . '天后';
        } elseif ($diff < 31536000) {
            return floor($diff / 2592000) . '个月后';
        } else {
            return floor($diff / 31536000) . '年后';
        }
    } else {
        // 过去时间
        if ($diff < 60) {
            return $diff . '秒前';
        } elseif ($diff < 3600) {
            return floor($diff / 60) . '分钟前';
        } elseif ($diff < 86400) {
            return floor($diff / 3600) . '小时前';
        } elseif ($diff < 2592000) {
            return floor($diff / 86400) . '天前';
        } elseif ($diff < 31536000) {
            return floor($diff / 2592000) . '个月前';
        } else {
            return floor($diff / 31536000) . '年前';
        }
    }
}

